package com.example.demo.Interface;

import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/**
 * @ClassName Streamtets
 * @Description TODO
 * Author yangqinglin
 * @Date 2021/1/16 18:04
 * @Version
 **/
public class Streamtets {

    @Test
    public void test1(){


        List<String> list= Arrays.asList("eee","aaa","bbb","ccc","ddd");
//        list.stream()
//                .map(Streamtets::filterString)
//                //双层流
//                .forEach((e)->e.forEach(System.out::println));

        //或者
//
//        list.stream()
//                //该方法可以把所有流转为一个流（合并的意思） 类似集合的add  和addAll 但是add是整个集合当作一个元素
//                .flatMap(Streamtets::filterString)
//                .forEach(System.out::println);

        list.stream()
                .sorted()
                .forEach(System.out::println);

    }


    //转为字符流
    public static Stream<Character>  filterString(String str){
        List<Character>  list=new ArrayList<>();

        for (Character c: str.toCharArray()
             ) {

            list.add(c);

        }

        return list.stream();
    }
}
